package com.xb.cloud.product.service.client;

import java.util.List;

import com.xb.cloud.product.category.service.client.bo.CategoryTreesBO;
import com.xb.cloud.product.category.service.client.bo.SkuRequestBO;
import com.xb.cloud.product.merchant.service.client.bo.ProductSkuBo;
import com.xb.cloud.product.merchant.service.client.bo.ShopSkuBo;
import com.xb.cloud.product.service.client.bo.HomePageRecommendSku;
import com.xb.cloud.product.service.client.bo.SkuBO;
import com.xb.cloud.service.client.ServiceReturnInfo;

public interface SkuService {

	//public String getSKUDefaultPicURL(long sku_ID);

	public List<HomePageRecommendSku> getPromotionSkuByCategory(long category_id);

	//public ServiceReturnInfo getRecommendSkuByComID(long companyID);

	public List<ShopSkuBo> getShopSkuListBySkuIds(List<Long> skuIds);

	public List<SkuBO> getSkuByBackendCategoryList(List<CategoryTreesBO> categoryLeafBOs4BackendCatgeory,
			SkuRequestBO requestInfo);

	public ServiceReturnInfo getSkuByFrontCategoryList(SkuRequestBO requestInfo);
	
	public ProductSkuBo getSkuById(Long skuId);
	
	/**
	 * 根据skuId列表查询sku信息和价格信息
	 * 
	 * @Title getSkuWithPriceBySkuIds
	 * @param skuid
	 * @return
	 */
	List<ProductSkuBo> getSkuWithPriceBySkuIds(List<Long> skuIdList);
	
	/**
	 * 根据店铺信息查询对应分类店铺内分组的sku列表
	 * 
	 * @param shopId
	 * @param pageNum
	 * @param pageSize
	 * @param sortType
	 * @param sortOrder
	 * @return
	 */
	public ServiceReturnInfo getSkuListByGroup(Long shopId, Long groupId, Integer pageNum, Integer pageSize,
			Integer sortType, Integer sortOrder);
	public ServiceReturnInfo getSKUDetail(SkuRequestBO requestBO);

	public ServiceReturnInfo getSKUPrice(SkuRequestBO requestBO);

	public ServiceReturnInfo getGroupSkuCount(Long shopId, Long groupId);
}
